#include "const.h"

void v_array_explode(var_t v, const char *value) {
	static char item[8192];
	const char *p;

	if (v->flags & VAR_CONST_BIT)
		return;

	if (v->flags & VAR_SYMLINK_BIT) {
		v_array_explode(v->value.symlink, value);
		return;
	}

	if (~v->flags & VAR_ARRAY_BIT)
		return;

	if (*value==0)
		return;

	while(1) {
		if (!(p = strchr(value, ' ')))
			p = strchr(value, 0);

		i_strncpy(item, sizeof(item), value, p-value);
		v_array_push(v, item);

		if (*p==0)
			break;

		value = &p[1];
	}
}
